/*
 * StrategyG - Web System
 * Copyright 2011-2012
 * 
 * Autor		: Vanie Torres 
 * Fecha Registro	: 13/12/2012 08:43:10 PM
 * Detalle		: DaoPerfil
 */

package com.strategy.data.dao;

import com.strategy.data.entity.Perfil;
import com.strategy.data.entity.PerfilDet;
import java.util.List;
import javax.persistence.Query;
import javax.persistence.EntityManager;
/**
 *
 * @author VANIE
 */
public class DaoPerfil extends DaoGenerico {

    public DaoPerfil(EntityManager em) {
        super(em);
    }

    public List<Perfil> consultarPorDescripcionPerfil(String tNombre) {

        List<Perfil> lstPerfil = null;
        tNombre = tNombre.toUpperCase();
        String parametro1 = "%" + tNombre + "%";
        Query consulta = em.createNamedQuery("Perfil.consultarPorDescripcionPerfil");
        consulta.setParameter("dscPerfil", parametro1);
        lstPerfil = consulta.getResultList();
        return lstPerfil;
    }

    public List<PerfilDet> consultarCapacidadesPorPerfilCod(int tcodPerfil) {

        List<PerfilDet> lstDetPerfil = null;
        Query consulta = em.createNamedQuery("PerfilDet.consultarCapacidadesPorPerfilCod");
        consulta.setParameter("codPerfil", tcodPerfil);
        lstDetPerfil = consulta.getResultList();
        return lstDetPerfil;
    }

    public List<PerfilDet> consultarFundamentoPorPerfilCod(int tcodPerfil) {

        List<PerfilDet> lstDetPerfil = null;
        Query consulta = em.createNamedQuery("PerfilDet.consultarFundamentoPorPerfilCod");
        consulta.setParameter("codPerfil", tcodPerfil);
        lstDetPerfil = consulta.getResultList();
        return lstDetPerfil;
    }

    public PerfilDet consultarCapacidadPerfilPorPerfilCodTipoCod(int tcodPerfil, int tCodTipo) {

        List<PerfilDet> lstDetPerfil = null;
        PerfilDet detPerfil = null;
        Query consulta = em.createNamedQuery("PerfilDet.consultarCapacidadPerfilPorPerfilCodTipoCod");
        consulta.setParameter("codPerfil", tcodPerfil);
        consulta.setParameter("codTipo", tCodTipo);
        lstDetPerfil = consulta.getResultList();
        if (lstDetPerfil != null && !lstDetPerfil.isEmpty()) {
            detPerfil = lstDetPerfil.get(0);
        }
        return detPerfil;
    }

    public PerfilDet consultarFundamentoPerfilPorPerfilCodTipoCod(int tcodPerfil, int tCodTipo) {

        List<PerfilDet> lstDetPerfil = null;
        PerfilDet detPerfil = null;
        Query consulta = em.createNamedQuery("PerfilDet.consultarFundamentoPerfilPorPerfilCodTipoCod");
        consulta.setParameter("codPerfil", tcodPerfil);
        consulta.setParameter("codTipo", tCodTipo);
        lstDetPerfil = consulta.getResultList();
        if (lstDetPerfil != null && !lstDetPerfil.isEmpty()) {
            detPerfil = lstDetPerfil.get(0);
        }
        return detPerfil;
    }

}
